// Bluebird: composition
const B = f => g => a => f(g(a));

// Thrush combinator:
const TH = a => b => b(a);

// Vireo: 2-tuple data structure
const V = a => b => f => f(a)(b);

// Blackbird: composition of a binary function with a unary function.
const BL = B(B)(B);
// const BL = f => g => a => b => f(g(a)(b));
export { B, TH, V, BL };